{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 第三步：得到max_depth 和 min_child_weight后重新计算 n_estimators\n",
    "得到 n_estimators为 192"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "from xgboost import XGBClassifier\n",
    "import xgboost as xgb\n",
    "\n",
    "import pandas as pd \n",
    "import numpy as np\n",
    "\n",
    "from sklearn.model_selection import GridSearchCV\n",
    "from sklearn.model_selection import StratifiedKFold\n",
    "\n",
    "from sklearn.metrics import log_loss\n",
    "\n",
    "from matplotlib import pyplot\n",
    "import seaborn as sns\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>bathrooms</th>\n",
       "      <th>bedrooms</th>\n",
       "      <th>price</th>\n",
       "      <th>price_bathrooms</th>\n",
       "      <th>price_bedrooms</th>\n",
       "      <th>room_diff</th>\n",
       "      <th>room_num</th>\n",
       "      <th>Year</th>\n",
       "      <th>Month</th>\n",
       "      <th>Day</th>\n",
       "      <th>...</th>\n",
       "      <th>walk</th>\n",
       "      <th>walls</th>\n",
       "      <th>war</th>\n",
       "      <th>washer</th>\n",
       "      <th>water</th>\n",
       "      <th>wheelchair</th>\n",
       "      <th>wifi</th>\n",
       "      <th>windows</th>\n",
       "      <th>work</th>\n",
       "      <th>interest_level</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1.5</td>\n",
       "      <td>3</td>\n",
       "      <td>3000</td>\n",
       "      <td>1200.0</td>\n",
       "      <td>750.000000</td>\n",
       "      <td>-1.5</td>\n",
       "      <td>4.5</td>\n",
       "      <td>2016</td>\n",
       "      <td>6</td>\n",
       "      <td>24</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1.0</td>\n",
       "      <td>2</td>\n",
       "      <td>5465</td>\n",
       "      <td>2732.5</td>\n",
       "      <td>1821.666667</td>\n",
       "      <td>-1.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>2016</td>\n",
       "      <td>6</td>\n",
       "      <td>12</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>2850</td>\n",
       "      <td>1425.0</td>\n",
       "      <td>1425.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>2016</td>\n",
       "      <td>4</td>\n",
       "      <td>17</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>3275</td>\n",
       "      <td>1637.5</td>\n",
       "      <td>1637.500000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>2016</td>\n",
       "      <td>4</td>\n",
       "      <td>18</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1.0</td>\n",
       "      <td>4</td>\n",
       "      <td>3350</td>\n",
       "      <td>1675.0</td>\n",
       "      <td>670.000000</td>\n",
       "      <td>-3.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>2016</td>\n",
       "      <td>4</td>\n",
       "      <td>28</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 228 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   bathrooms  bedrooms  price  price_bathrooms  price_bedrooms  room_diff  \\\n",
       "0        1.5         3   3000           1200.0      750.000000       -1.5   \n",
       "1        1.0         2   5465           2732.5     1821.666667       -1.0   \n",
       "2        1.0         1   2850           1425.0     1425.000000        0.0   \n",
       "3        1.0         1   3275           1637.5     1637.500000        0.0   \n",
       "4        1.0         4   3350           1675.0      670.000000       -3.0   \n",
       "\n",
       "   room_num  Year  Month  Day       ...        walk  walls  war  washer  \\\n",
       "0       4.5  2016      6   24       ...           0      0    0       0   \n",
       "1       3.0  2016      6   12       ...           0      0    0       0   \n",
       "2       2.0  2016      4   17       ...           0      0    0       0   \n",
       "3       2.0  2016      4   18       ...           0      0    0       0   \n",
       "4       5.0  2016      4   28       ...           0      0    1       0   \n",
       "\n",
       "   water  wheelchair  wifi  windows  work  interest_level  \n",
       "0      0           0     0        0     0               1  \n",
       "1      0           0     0        0     0               2  \n",
       "2      0           0     0        0     0               0  \n",
       "3      0           0     0        0     0               2  \n",
       "4      0           0     0        0     0               2  \n",
       "\n",
       "[5 rows x 228 columns]"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# path to where the data lies\n",
    "dpath = './data/'\n",
    "train = pd.read_csv(dpath +\"RentListingInquries_FE_train.csv\")\n",
    "train.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nrR4AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x20b3e457fd0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.countplot(train.interest_level);\n",
    "pyplot.xlabel('interest_level');\n",
    "pyplot.ylabel('Number of occurrences');"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# drop ids and get labels\n",
    "y_train = train['interest_level']\n",
    "\n",
    "train = train.drop([\"interest_level\"], axis=1)\n",
    "X_train = np.array(train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# prepare cross validation\n",
    "kfold = StratifiedKFold(n_splits=5, shuffle=True, random_state=3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 默认参数，此时学习率为0.1，比较大，观察弱分类数目的大致范围 （采用默认参数配置，看看模型是过拟合还是欠拟合）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#直接调用xgboost内嵌的交叉验证（cv），可对连续的n_estimators参数进行快速交叉验证\n",
    "#而GridSearchCV只能对有限个参数进行交叉验证\n",
    "def modelfit(alg, X_train, y_train, cv_folds=None, early_stopping_rounds=10):\n",
    "    xgb_param = alg.get_xgb_params()\n",
    "    xgb_param['num_class'] = 9\n",
    "    \n",
    "    #直接调用xgboost，而非sklarn的wrapper类\n",
    "    xgtrain = xgb.DMatrix(X_train, label = y_train)\n",
    "        \n",
    "    cvresult = xgb.cv(xgb_param, xgtrain, num_boost_round=alg.get_params()['n_estimators'], folds =cv_folds,\n",
    "             metrics='mlogloss', early_stopping_rounds=early_stopping_rounds)\n",
    "  \n",
    "    cvresult.to_csv('1_nestimators.csv', index_label = 'n_estimators')\n",
    "    \n",
    "    #最佳参数n_estimators\n",
    "    n_estimators = cvresult.shape[0]\n",
    "    \n",
    "    # 采用交叉验证得到的最佳参数n_estimators，训练模型\n",
    "    alg.set_params(n_estimators = n_estimators)\n",
    "    alg.fit(X_train, y_train, eval_metric='mlogloss')\n",
    "        \n",
    "    #Predict training set:\n",
    "    #train_predprob = alg.predict_proba(X_train)\n",
    "    #logloss = log_loss(y_train, train_predprob)\n",
    "\n",
    "   #Print model report:\n",
    "   # print (\"logloss of train :\" )\n",
    "   # print logloss"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#params = {\"objective\": \"multi:softprob\", \"eval_metric\":\"mlogloss\", \"num_class\": 9}\n",
    "xgb1 = XGBClassifier(\n",
    "        learning_rate =0.1,\n",
    "        n_estimators=236,  #数值大没关系，cv会自动返回合适的n_estimators\n",
    "        max_depth=6,\n",
    "        min_child_weight=0.5,\n",
    "        gamma=0,\n",
    "        subsample=0.3,\n",
    "        colsample_bytree=0.8,\n",
    "        colsample_bylevel=0.7,\n",
    "        objective= 'multi:softprob',\n",
    "        seed=3)\n",
    "\n",
    "modelfit(xgb1, X_train, y_train, cv_folds = kfold)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x20b50ede0f0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cvresult = pd.DataFrame.from_csv('1_nestimators.csv')\n",
    "        \n",
    "# plot\n",
    "test_means = cvresult['test-mlogloss-mean']\n",
    "test_stds = cvresult['test-mlogloss-std'] \n",
    "        \n",
    "train_means = cvresult['train-mlogloss-mean']\n",
    "train_stds = cvresult['train-mlogloss-std'] \n",
    "\n",
    "x_axis = range(0, cvresult.shape[0])\n",
    "        \n",
    "pyplot.errorbar(x_axis, test_means, yerr=test_stds ,label='Test')\n",
    "pyplot.errorbar(x_axis, train_means, yerr=train_stds ,label='Train')\n",
    "pyplot.title(\"XGBoost n_estimators vs Log Loss\")\n",
    "pyplot.xlabel( 'n_estimators' )\n",
    "pyplot.ylabel( 'Log Loss' )\n",
    "pyplot.savefig( 'n_estimators4_1.png' )\n",
    "\n",
    "pyplot.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nkiRJkvLw/wEwpLgrJtXMBAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x20b50dd9e10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cvresult = pd.DataFrame.from_csv('1_nestimators.csv')\n",
    "\n",
    "cvresult = cvresult.iloc[100:]\n",
    "# plot\n",
    "test_means = cvresult['test-mlogloss-mean']\n",
    "test_stds = cvresult['test-mlogloss-std'] \n",
    "        \n",
    "train_means = cvresult['train-mlogloss-mean']\n",
    "train_stds = cvresult['train-mlogloss-std'] \n",
    "\n",
    "x_axis = range(100,cvresult.shape[0]+100)\n",
    "        \n",
    "fig = pyplot.figure(figsize=(10, 10), dpi=100)\n",
    "pyplot.errorbar(x_axis, test_means, yerr=test_stds ,label='Test')\n",
    "pyplot.errorbar(x_axis, train_means, yerr=train_stds ,label='Train')\n",
    "pyplot.title(\"XGBoost n_estimators vs Log Loss\")\n",
    "pyplot.xlabel( 'n_estimators' )\n",
    "pyplot.ylabel( 'Log Loss' )\n",
    "pyplot.savefig( 'n_estimators_detail.png' )\n",
    "\n",
    "pyplot.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
